A typical NAND solid state drive (SSD) uses an indirection system, e.g., a logical-to-physical (L2P) table, to map user LBAs to physical NAND locations. The indirection unit (IU) granularity of the L2P is typically 4 KB, which may require 1 Gigabyte (GB) of dynamic random access memory (DRAM) per 1 Terabyte (TB) of SSD capacity. As NAND costs continue to decline while DRAM costs have remained stable or even increase, the DRAM becomes an increasingly greater fraction of the SSD cost. In addition, conventional file systems were designed to work on hard disk drives, which typically have a small (e.g., 512 Byte) sector size, and can do virtually an unlimited number or writes to those sectors without endurance concerns. For such devices, the file system typically issues a large number of writes to those sectors to update metadata as the files are accessed. For some common operating environments, these single sector writes may be +/−50% of the data writes. When applied to SSDs, this results in a very high read-modify-write (RMW) overhead, since typical IU granularity is 4 Kibibits (KiB) and may be increased to 64 KiB in the near future. This results in 8-128× performance and endurance overhead penalty for these +/−50% of the data writes. The negative impact is exacerbated by write-amplification introduced on an SSD due to the random-write nature of these small input/outputs (I/Os).
Although the following Detailed Description will proceed with reference being made to illustrative embodiments, many alternatives, modifications, and variations thereof will be apparent to those skilled in the art.